package la.iok.hzsvn.lewin.movie.cloud.service;

import la.iok.hzsvn.lewin.movie.cloud.entity.Role;
import la.iok.hzsvn.lewin.movie.cloud.entity.User;
import la.iok.hzsvn.lewin.mybatis.service.BaseService;
import la.iok.hzsvn.share.annotations.NotNull;
import la.iok.hzsvn.share.annotations.NotNullElement;
import la.iok.hzsvn.share.annotations.Nullable;

import java.util.Collection;
import java.util.List;

public interface RoleService extends BaseService<Role,Long> {
    /**
     * 查找角色
     * @param name 角色名称
     * @return 角色
     */
    @Nullable
    Role select(@Nullable String name);

    /**
     * 保存角色对象
     * @param entity 实体对象
     * @return 保存对象的id
     */
    @NotNull
    Long save(@NotNull Role entity);

    /**
     * 查找id列表对应的角色
     * @param ids id列表
     * @return 角色列表
     */
    @NotNull
    @NotNullElement
    List<Role> list(@Nullable Collection<Long> ids);

}
